﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GC2.Bussines;
using GC2.Bussines.BMLogistica;
using GC2.Entities.Logistica;
using GC2.Entities.Seguridad;
using GC2.ExceptionHandler;

public partial class Logistica_VerConsumos : GenericPage
{
    #region Propiedades
    Usuarios usuario = new Usuarios();
    Combustible combustibleActual = new Combustible();
    List<Combustible> listCombustible = new List<Combustible>();
    private ExceptionConstructor exNew = new ExceptionConstructor();
    #endregion

    #region Controles

    #region Page_Load
    protected void Page_Load(object sender, EventArgs e)
    {
        SetearCultura();
        SetearConexion();
        if (!IsPostBack)
        {
            usuario = (Usuarios)Session["UsuarioActual"];
            if(!String.IsNullOrEmpty(Request.QueryString["Patente"]))
            {
                txtCodigo.Text = Request.QueryString["Patente"].ToString();
            }
            DateTime dHoy = DateTime.Now.Date;
            FechaH.SetFecha(dHoy);
            string sFecha = SetearFechaUno();
            FechaD.SetFecha(Convert.ToDateTime(sFecha));
            lblAccion.Text = "Buscar datos entre dos Fechas";
        }
    }
    #endregion

    #region btnBuscar_Click
    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            BMCombustible bmCombustible = new BMCombustible(Connection);
            Combustible combustibleD = new Combustible();
            Combustible combustibleH = new Combustible();
            combustibleD.FechaCarga = FechaD.GetFecha();
            combustibleH.FechaCarga = FechaH.GetFecha();
            combustibleD.Sucursal = 1;

            if (txtCodigo.Text.Trim() == "")
            {
                listCombustible = bmCombustible.BMCombustibleGetAll(combustibleD,combustibleH);
            }
            else
            {
                combustibleD.Patente = txtCodigo.Text.Trim();
                listCombustible = bmCombustible.BMCombustibleGetAllByPatente(combustibleD, combustibleH);
            }

            Decimal dTotal = 0;
            foreach (Combustible item in listCombustible)
            {
                dTotal += item.Litros;
            }
            txtTotal.Text = dTotal.ToString();

            Session["listCombustible"] = listCombustible;
            CargarGrilla();
            lblAccion.Text = "Consumos del Per&iacute;odo";

        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #region btnCancelar_Click
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/Seguridad/Default.aspx", false);
    }
    #endregion

    #region gvCombustible_PageIndexChanging
    protected void gvCombustible_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvCombustible.PageIndex = e.NewPageIndex;
        CargarGrilla();
    }
    #endregion

    #endregion

    #region Métodos

    #region CargarGrilla
    private void CargarGrilla()
    {
        try
        {
            listCombustible = (List<Combustible>)Session["listCombustible"];
            gvCombustible.DataSource = listCombustible;
            gvCombustible.DataBind();
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #region SetearFechaUno
    public string SetearFechaUno()
    {
        string sFecha = "01/";
        try
        {
            DateTime dHoy = DateTime.Now.Date;
            // CAMBIAR es para el demo
            // sFecha += "01";
            sFecha += dHoy.Month.ToString();
            sFecha += "/";
            sFecha += dHoy.Year.ToString();
        }
        catch (Exception ex) { ErrorUI(ex); }
        return sFecha;
    }
    #endregion

    #endregion
}
